home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / SCRIPTZ / PMR40.EXE / REMOTE.INI < prev    next >
INI File  |  1997-03-17  |  41KB  |  699 lines

  1. [Variables]
  2. n0=%ver 12[Pr≥tΘótφ≥╤ MASTER v4.0]
  3.  
  4. [Commands]
  5. n0=#vote disabled
  6. n1=1:YES:{
  7. n2=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto next }
  8. n3=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto next } }
  9. n4=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto next } }
  10. n5=  inc %countvote [ $+ [ $nick ] ] | .timer 1 5 unset %countvote [ $+ [ $nick ] ]
  11. n6=  if (%countvote [ $+ [ $nick ] ] >= 3) { 
  12. n7=    .ignore -tu120 $nick 3 | echo 4 -a %ver ===> Private voting flood detected by $nick -=2 Min Ignore=- | unset %countvote [ $+ [ $nick ] ] 
  13. n8=    if (%privatekick == 1) { set %reason Private voting flood detected -=Temp Ban=- | set %nick $nick | privatekick }
  14. n9=    goto end
  15. n10=  }
  16. n11=  :next
  17. n12=  set %address $address($nick,2)
  18. n13=  set %levcount 0 | set %lev 0
  19. n14=  :start
  20. n15=  inc %levcount | if ($read -l $+ %levcount $mircdirsettings\ $+ vote.txt == $null) { goto end1 }
  21. n16=  if ($read -l $+ %levcount $mircdirsettings\ $+ vote.txt == %address) { set %lev %levcount | goto end1 }
  22. n17=  goto start
  23. n18=  :end1
  24. n19=  unset %levcount 
  25. n20=  if (%lev != 0) { .notice $nick %ver Sorry, you cannot vote more than once | goto end }
  26. n21=  inc %yesvotes
  27. n22=  write $mircdirsettings\ $+ vote.txt %address
  28. n23=  .notice $nick %ver Thank you, your vote has been received
  29. n24=  :end
  30. n25=  unset %lev %address | halt
  31. n26=}
  32. n27=1:NO:{
  33. n28=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto next }
  34. n29=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto next } }
  35. n30=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto next } }
  36. n31=  inc %countvote [ $+ [ $nick ] ] | .timer 1 5 unset %countvote [ $+ [ $nick ] ]
  37. n32=  if (%countvote [ $+ [ $nick ] ] >= 3) { 
  38. n33=    .ignore -tu120 $nick 3 | echo 4 -a %ver ===> Private voting flood detected by $nick -=2 Min Ignore=- | unset %countvote [ $+ [ $nick ] ] 
  39. n34=    if (%privatekick == 1) { set %reason Private voting flood detected -=Temp Ban=- | set %nick $nick | privatekick }
  40. n35=    goto end
  41. n36=  }
  42. n37=  :next
  43. n38=  set %address $address($nick,2)
  44. n39=  set %levcount 0 | set %lev 0
  45. n40=  :start
  46. n41=  inc %levcount | if ($read -l $+ %levcount $mircdirsettings\ $+ vote.txt == $null) { goto end1 }
  47. n42=  if ($read -l $+ %levcount $mircdirsettings\ $+ vote.txt == %address) { set %lev %levcount | goto end1 }
  48. n43=  goto start
  49. n44=  :end1
  50. n45=  unset %levcount 
  51. n46=  if (%lev != 0) { .notice $nick %ver Sorry, you cannot vote more than once | goto end }
  52. n47=  inc %novotes
  53. n48=  write $mircdirsettings\ $+ vote.txt %address
  54. n49=  .notice $nick %ver Thank you, your vote has been received
  55. n50=  :end
  56. n51=  unset %lev %address | halt
  57. n52=}
  58. n53=#vote end
  59. n54=;-----
  60. n55=#away start
  61. n56=1:PAGE:{ 
  62. n57=  inc %pages | write $mircdirsettings\ $+ messages.txt < $+ $nick $+ > PAGE $timestamp - $parm2* | .wavplay $mircdirpage.wav | .notice $nick %ver Thank you, page received :) | awaytitle
  63. n58=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  64. n59=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  65. n60=  inc %countpageaway [ $+ [ $nick ] ] | .timer 1 10 unset %countpageaway [ $+ [ $nick ] ]
  66. n61=  if (%countpageaway [ $+ [ $nick ] ] >= 2) { 
  67. n62=    ignore -tu30 $nick 3 | echo 4 -a %ver Page flooding detected from $nick -=30 Second Private Ignore=- | unset %countpageaway [ $+ [ $nick ] ] 
  68. n63=    if (%privatekick == 1) { set %reason Page flooding detected -=Temp Ban=- | set %nick $nick | privatekick }
  69. n64=  }
  70. n65=  :end
  71. n66=  unset %lev | halt
  72. n67=}
  73. n68=#away end
  74. n69=;-----
  75. n70=1:DCC CHAT:{
  76. n71=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  77. n72=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  78. n73=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  79. n74=  if (%dccflood == 0) { goto end }
  80. n75=  inc %countdcc [ $+ [ $nick ] ] | .timer 1 %dccfloods unset %countdcc [ $+ [ $nick ] ]
  81. n76=  if (%countdcc [ $+ [ $nick ] ] >= %dccfloodl) { 
  82. n77=    ignore -tu30 $nick 3 | echo 4 -a %ver Received %dccfloodl dcc chat requests from $nick in %dccfloods seconds -= Iniating CTCP ignore for 30 seconds =- | unset %countdcc [ $+ [ $nick ] ]
  83. n78=    if (%privatekick == 1) { set %reason DCC chat request flooding detected -=Temp Ban=- | set %nick $nick | privatekick }
  84. n79=  }
  85. n80=  :end
  86. n81=  unset %lev
  87. n82=}
  88. n83=1:DCC SEND:{
  89. n84=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  90. n85=  if (%dccflood == 0) { goto end }
  91. n86=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  92. n87=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  93. n88=  inc %countdcc [ $+ [ $nick ] ] | .timer 1 %dccfloods unset %countdcc [ $+ [ $nick ] ]
  94. n89=  if (%countdcc [ $+ [ $nick ] ] >= %dccfloodl) { 
  95. n90=    ignore -tu30 $nick 3 | echo 4 -a %ver Received %dccfloodl dcc send requests from $nick in %dccfloods seconds -= Iniating CTCP ignore for 30 seconds =- | unset %countdcc [ $+ [ $nick ] ]
  96. n91=    if (%privatekick == 1) { set %reason DCC send request flooding detected -=Temp Ban=- | set %nick $nick | privatekick }
  97. n92=  }
  98. n93=  :end
  99. n94=  unset %lev
  100. n95=}
  101. n96=1:SOUND:{
  102. n97=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  103. n98=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  104. n99=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  105. n100=  if (%soundflood == 0) { goto end }
  106. n101=  inc %countsound [ $+ [ $nick ] ] | .timer 1 %soundfloods unset %countsound [ $+ [ $nick ] ]
  107. n102=  if (%countsound [ $+ [ $nick ] ] >= %soundfloodl) { 
  108. n103=    ignore -tu30 $nick 3 | echo 4 -a %ver Sound flood detected from $nick -=30 Second Private Ignore=- | unset %countsound [ $+ [ $nick ] ] 
  109. n104=    if (%privatekick == 1) { set %reason Sound flood detected -=Temp Ban=- | set %nick $nick | privatekick }
  110. n105=  }
  111. n106=  :end
  112. n107=  unset %lev
  113. n108=}
  114. n109=1:*:{
  115. n110=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  116. n111=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  117. n112=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  118. n113=  if (%ctcpflood == 0) { goto end }
  119. n114=  inc %countctcp | .timer 1 %ctcpfloods unset %countctcp
  120. n115=  if (%countctcp >= %ctcpfloodl) { ignore -tu30 *!*@* | echo 4 -a %ver Received %ctcpfloodl ctcp's in %ctcpfloods seconds -= Iniating ctcp mass-ignore for 30 seconds =- | unset %countctcp }
  121. n116=  :end
  122. n117=  unset %lev
  123. n118=  if ($parm1 == version) { raw -q notice $nick : $+ $chr(1) $+ VERSION -= 12[Pr≥tΘótφ≥╤ MASTER v4.0], by Ventura =- http://www.iinet.net.au/~ventura/protect.html | halt }
  124. n119=}
  125.  
  126. [Events]
  127. n0=1:ON CTCPREPLY:PING *:if (%pingme [ $+ [ $nick ] ] == 1) && (%autoping == 1) { set %pingreply $ctime - $parm2 | .notice $nick %ver [Ping Reply]: $duration(%pingreply) | unset %pingreply %pingme [ $+ [ $nick ] ] }
  128. n1=;-----
  129. n2=;----- Op checking and mass op routines
  130. n3=;-----
  131. n4=@1:ON OP:#:{
  132. n5=  if ($opnick == $me) { goto meopped }
  133. n6=  if ($nick !ison $chan) { goto end }
  134. n7=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  135. n8=  set %nick $opnick | deniedcheck2 | if (%lev != 0) { mode $chan -o $opnick | goto end }
  136. n9=  if (%superonly == 1) { set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan -o $opnick | goto end } }
  137. n10=  goto next
  138. n11=  :meopped
  139. n12=  enforcemode
  140. n13=  if (%revenge == 0) { goto done }
  141. n14=  if (%kicker != $null) && (%kicker ison $chan) { mode $chan -o+bb %kicker $address(%kicker,2) $address(%kicker,3) | kick $chan %kicker %ver You can't kick me from $chan | unset %kicker }
  142. n15=  if (%deopper != $null) && (%deopper ison $chan) { mode $chan -o %deopper | unset %deopper } 
  143. n16=  :done
  144. n17=  set %chancheck $chan | .who $chan | goto end
  145. n18=  :next
  146. n19=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  147. n20=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  148. n21=  if (%immune == 3) && ($nick isop $chan) { goto end }
  149. n22=  if (%massop == 0) { goto end }
  150. n23=  inc %countop [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %massops unset %countop [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  151. n24=  if (%countop [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %massopl) { kick $chan $nick %ver Mass op detected | unset %countop [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  152. n25=  :end
  153. n26=  unset %lev
  154. n27=}
  155. n28=@1:ON SERVEROP:#:{
  156. n29=  if ($address($opnick,2) == $address($me,2)) && ($address($opnick,3) == $address($me,3)) { goto end }
  157. n30=  if (%serverprot == 0) { goto end }
  158. n31=  set %nick $opnick | superopcheck2 | if (%lev == 0) { mode $chan -o $opnick }
  159. n32=  :end
  160. n33=}
  161. n34=;-----
  162. n35=;----- Deop checking and mass deop routines
  163. n36=;-----
  164. n37=1:ON DEOP:#:{
  165. n38=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  166. n39=  if ($nick == $opnick) { goto end }
  167. n40=  if ($opnick == $me) { goto medeopped } | if ($address($opnick,2) == $address($me,2)) && ($address($opnick,3) == $address($me,3)) { goto clonedeopped }
  168. n41=  if ($me !isop $chan) || ($nick !ison $chan) { goto end }
  169. n42=  set %nick $opnick | superopcheck2 | if (%lev == 0) { goto next }
  170. n43=  set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan +o-o $opnick $nick } | else { mode $chan +o $opnick }
  171. n44=  goto end
  172. n45=  :medeopped
  173. n46=  if (dal.net isin $server) { .msg chanserv op $chan $me | set %nick $nick | superopcheck2 | if (%lev == 0) { .msg chanserv deop $chan $nick } }
  174. n47=  if (%revenge == 1) { set %nick $nick | superopcheck2 | if (%lev == 0) { set %deopper $nick } }
  175. n48=  goto end
  176. n49=  :clonedeopped
  177. n50=  set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan +o-o $opnick $nick } | else { mode $chan +o $opnick }
  178. n51=  goto end
  179. n52=  :next
  180. n53=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  181. n54=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  182. n55=  if (%immune == 3) && ($nick isop $chan) { goto end }
  183. n56=  if (%massdeop == 0) { goto end }
  184. n57=  inc %countdeop [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %massdeops unset %countdeop [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  185. n58=  if (%countdeop [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %massdeopl) { kick $chan $nick %ver Mass deop detected | unset %countdeop [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  186. n59=  :end
  187. n60=  unset %lev
  188. n61=}
  189. n62=;-----
  190. n63=;----- Kick checking and mass kick routines
  191. n64=;-----
  192. n65=1:ON KICK:#:{
  193. n66=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  194. n67=  if ($knick == $me) { goto mekicked } | if ($address($knick,2) == $address($me,2)) && ($address($knick,3) == $address($me,3)) { goto clonekicked }
  195. n68=  if ($me !isop $chan) { goto end }
  196. n69=  set %nick $knick | superopcheck2 | if (%lev != 0) { set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver That user is Protected! | goto end } }
  197. n70=  goto next 
  198. n71=  :mekicked
  199. n72=  if (dal.net isin $server) { .msg chanserv deop $chan $nick | .msg chanserv unban $chan me | .timer 2 5 join $chan }
  200. n73=  if (%revenge == 1) { set %nick $nick | superopcheck2 | if (%lev == 0) { set %kicker $nick } }
  201. n74=  goto end
  202. n75=  :clonekicked
  203. n76=  set %nick $nick | superopcheck | if (%lev == 0) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver That user is Protected! | goto end }
  204. n77=  goto end
  205. n78=  :next
  206. n79=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  207. n80=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  208. n81=  if (%immune == 3) && ($nick isop $chan) { goto end }
  209. n82=  if (%masskick == 0) { goto end }
  210. n83=  inc %countkick [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %masskicks unset %countkick [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  211. n84=  if (%countkick [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %masskickl) { kick $chan $nick %ver Mass kick detected | unset %countkick [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  212. n85=  :end
  213. n86=  unset %lev
  214. n87=}
  215. n88=;-----
  216. n89=;----- Ban checking and mass ban routines
  217. n90=;-----
  218. n91=@1:ON BAN:#:{
  219. n92=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  220. n93=  if ($banmask iswm $address($me,5)) { 
  221. n94=    set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan -ob+b $nick $banmask $address($nick,3) | kick $chan $nick %ver You cannot ban me from $chan } | else { mode $chan -b $banmask }
  222. n95=    goto end
  223. n96=  }
  224. n97=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  225. n98=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  226. n99=  if (%immune == 3) && ($nick isop $chan) { goto end }
  227. n100=  if (%massban == 0) { goto end }
  228. n101=  inc %countban [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %massbans unset %countban [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  229. n102=  if (%countban [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %massbanl) { kick $chan $nick %ver Mass ban detected | unset %countban [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  230. n103=  :end
  231. n104=  unset %lev
  232. n105=}
  233. n106=;-----
  234. n107=;----- Devoice checking and mass devoice routines
  235. n108=;-----
  236. n109=@1:ON DEVOICE:#:{
  237. n110=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  238. n111=  set %nick $vnick | voicedcheck2 | if (%lev != 0) { 
  239. n112=    set %nick $nick | superopcheck2 | if (%lev == 0) { mode $chan +v $vnick }
  240. n113=  }
  241. n114=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  242. n115=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  243. n116=  if (%immune == 3) && ($nick isop $chan) { goto end }
  244. n117=  if (%massdevoice == 0) { goto end }
  245. n118=  inc %countdevoice [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %massdevoices unset %countdevoice [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  246. n119=  if (%countdevoice [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %massdevoicel) { kick $chan $nick %ver Mass devoice detected | unset %countdevoice [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  247. n120=  :end
  248. n121=  unset %lev
  249. n122=}
  250. n123=;-----
  251. n124=;----- Unban checking routine
  252. n125=;-----
  253. n126=@1:ON UNBAN:#:{
  254. n127=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  255. n128=  set %address $banmask | shitlistcheck | if (%lev != 0) { mode $chan +b $banmask }
  256. n129=  :end
  257. n130=  unset %address %lev
  258. n131=}
  259. n132=;-----
  260. n133=;----- Channel Text Flood routine
  261. n134=;-----
  262. n135=@1:ON TEXT:*:#:{
  263. n136=  if ($parm1 == ping) && ($parm2 == me) && (%autoping == 1) { set %pingme [ $+ [ $nick ] ] 1 | .ctcp $nick ping }
  264. n137=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  265. n138=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  266. n139=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  267. n140=  if (%immune == 3) && ($nick isop $chan) { goto end }
  268. n141=  wordcheck | textcheck | if (%textflood == 0) { goto end }
  269. n142=  inc %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %textfloods unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  270. n143=  if (%count [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %textfloodl) { chankick | unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  271. n144=  :end
  272. n145=  unset %lev
  273. n146=}
  274. n147=@1:ON ACTION:*:#:{
  275. n148=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  276. n149=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  277. n150=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  278. n151=  if (%immune == 3) && ($nick isop $chan) { goto end }
  279. n152=  wordcheck | textcheck | if (%textflood == 0) { goto end }
  280. n153=  inc %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %textfloods unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  281. n154=  if (%count [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %textfloodl) { chankick | unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  282. n155=  :end
  283. n156=  unset %lev
  284. n157=}
  285. n158=@1:ON NOTICE:*:#:{
  286. n159=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  287. n160=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  288. n161=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  289. n162=  if (%immune == 3) && ($nick isop $chan) { goto end }
  290. n163=  wordcheck | textcheck | if (%textflood == 0) { goto end }
  291. n164=  inc %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %textfloods unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  292. n165=  if (%count [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %textfloodl) { chankick | unset %count [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  293. n166=  :end
  294. n167=  unset %lev
  295. n168=}
  296. n169=;-----
  297. n170=;----- Channel Nick Change Flood routine
  298. n171=;-----
  299. n172=@1:ON NICK:{
  300. n173=  if ($newnick == $me) || ($address($newnick,2) == $address($me,2)) && ($address($newnick,3) == $address($me,3)) { goto end }
  301. n174=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  302. n175=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  303. n176=  set %nick $newnick | nickcheck | if (%kicked == 1) { unset %kicked | goto end }
  304. n177=  if (%nickflood == 0) { goto end }
  305. n178=  set %count 0
  306. n179=  :start
  307. n180=  inc %count
  308. n181=  if (%count > $chan(0)) { goto end }
  309. n182=  set %curchan $chan(%count)
  310. n183=  if ($newnick !ison %curchan) || (($newnick isop %curchan) && (%immune == 3)) { goto start }
  311. n184=  set %countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ] %countnick [ $+ [ $nick [ $+ [ %curchan ] ] ] ] | unset %countnick [ $+ [ $nick [ $+ [ %curchan ] ] ] ] 
  312. n185=  inc %countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ] | .timer 1 %nickfloods unset %countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ]
  313. n186=  if (%countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ] >= %nickfloodl) && ($me isop %curchan) { mode %curchan -o+bb $newnick $address($newnick,2) $address($newnick,3) | kick %curchan $newnick %ver Channel flood detected | .timer 1 10 mode %curchan -bb $address($newnick,2) $address($newnick,3) | unset %countnick [ $+ [ $newnick [ $+ [ %curchan ] ] ] ] }
  314. n187=  goto start
  315. n188=  :end
  316. n189=  unset %count %curchan %lev
  317. n190=}
  318. n191=;-----
  319. n192=;----- Join-Part Flood routine
  320. n193=;-----
  321. n194=1:ON JOIN:#:{
  322. n195=  if ($nick == $me) { goto end }
  323. n196=  if ($address($nick,3) == $address($me,3)) && ($address($nick,2) == $address($me,2)) && ($me isop $chan) { mode $chan +o $nick | goto end }
  324. n197=  if (%ircop == 1) { who $nick }
  325. n198=  if ($me !isop $chan) { goto end }
  326. n199=  set %nick $nick | superopcheck2 | if (%lev != 0) {
  327. n200=    if (%autoopping == 1) { mode $chan +o $nick }
  328. n201=    if (%immune == 1) || (%immune == 2) { goto end }
  329. n202=    goto next
  330. n203=  }
  331. n204=  set %nick $nick | voicedcheck2 | if (%lev != 0) {
  332. n205=    mode $chan +v $nick
  333. n206=    if (%immune == 2) { goto end }
  334. n207=    goto next
  335. n208=  }
  336. n209=  set %nick $nick | shitlistcheck2 | if (%lev != 0) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver Shitlisted | goto end }
  337. n210=  :next
  338. n211=  set %nick $nick | nickcheck | if (%kicked == 1) { unset %kicked | goto end }
  339. n212=  if (%cloneset == 0) { goto next2 }
  340. n213=  if ($address($nick,2) == $address($me,2)) { goto next2 }
  341. n214=  set %counter 0 | unset %clonelist %clonenum
  342. n215=  :start
  343. n216=  inc %counter | if (%counter > $nick(0,$chan)) { goto end1 }
  344. n217=  if ($nick(%counter,$chan) == $null) { goto start }
  345. n218=  if ($nick == $nick(%counter,$chan)) { goto start }
  346. n219=  if ($address($nick(%counter,$chan),2) == $address($nick,2)) { 
  347. n220=    if ($nick(%counter,$chan) isop $chan) && (%immune == 3) { goto next2 }
  348. n221=    set %clonelist %clonelist $nick(%counter,$chan) &
  349. n222=    if (%clonenum == $null) { set %clonenum 2 } | else { inc %clonenum }
  350. n223=  }
  351. n224=  goto start
  352. n225=  :end1
  353. n226=  if (%clonelist != $null) { 
  354. n227=    set %clonelist %clonelist $nick
  355. n228=    if (%cloneset == 1) { echo $chan %ver %clonelist are CLONES Address: $address($nick,2) | goto next2 }
  356. n229=    if (%cloneset == 2) && (%clonenum <= %clonesallowed) { echo $chan %ver %clonelist are CLONES Address: $address($nick,2) | goto next2 }
  357. n230=    if (%cloneset == 2) && (%clonenum > %clonesallowed) { msg $chan %ver %clonelist are CLONES Address: $address($nick,2) | mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver Clone limit exceeded - No more than %clonesallowed clone(s) allowed on $chan -=Temp Ban=- | .timer 1 30 mode $chan -bb $address($nick,2) $address($nick,3) }
  358. n231=  }
  359. n232=  :next2
  360. n233=  if (%joinpartflood == 0) { goto end }
  361. n234=  inc %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %joinpartfloods unset %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  362. n235=  if (%countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %joinpartfloodl) { chankick | unset %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  363. n236=  :end
  364. n237=  unset %counter %clonelist %clonenum %address %lev
  365. n238=}
  366. n239=@1:ON PART:#:{
  367. n240=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  368. n241=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  369. n242=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  370. n243=  if (%joinpartflood == 0) { goto end }
  371. n244=  inc %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] | .timer 1 %joinpartfloods unset %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ]
  372. n245=  if (%countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] >= %joinpartfloodl) { mode $chan +bb $address($nick,2) $address($nick,3) | .msg $chan %ver Channel flood detected from $nick -=Temp Ban=- | .timer 1 10 mode $chan -bb $address($nick,2) $address($nick,3) | unset %countjp [ $+ [ $nick [ $+ [ $chan ] ] ] ] }
  373. n246=  :end
  374. n247=  unset %lev
  375. n248=}
  376. n249=;-----
  377. n250=;----- Mode change protection
  378. n251=;-----
  379. n252=@1:ON MODE:#:{
  380. n253=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  381. n254=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  382. n255=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  383. n256=  if (%modeprot == 0) || ($nick !ison $chan) { goto end }
  384. n257=  set %count 0 | unset %modeway
  385. n258=  :start
  386. n259=  inc %count
  387. n260=  if (%count > $len($parm1)) { goto done }
  388. n261=  set %current $mid(%count,1,$parm1)
  389. n262=  if (%current == +) || (%current == -) { set %modeway %current | goto start }
  390. n263=  if (%modeway == $null) { set %modeway + }
  391. n264=  if (%current == l) { goto l }
  392. n265=  if (%current == k) { goto k }
  393. n266=  if (%current isin %modeplus) && (%modeway == -) { mode $chan + $+ %current }
  394. n267=  if (%current isin %modeminus) && (%modeway == +) { mode $chan - $+ %current }
  395. n268=  goto start
  396. n269=  :l
  397. n270=  if (l !isin %modeplus) && (l !isin %modeminus) { goto start }
  398. n271=  if (l isin %modeplus) && (%modeway == +) { mode $chan +l %modelimit | goto start }
  399. n272=  if (l isin %modeminus) && (%modeway == +) { mode $chan -l | goto start }
  400. n273=  if (l isin %modeplus) && (%modeway == -) { mode $chan +l %modelimit }
  401. n274=  goto start
  402. n275=  :k
  403. n276=  if (k !isin %modeplus) && (k !isin %modeminus) { goto start }
  404. n277=  if (k isin %modeminus) && (%modeway == +) { mode $chan -kk $parm2 $parm3 | goto start }
  405. n278=  if (k isin %modeplus) && (%modeway == -) { mode $chan +k %modekey }
  406. n279=  goto start
  407. n280=  :done
  408. n281=  if (%modeprot == 2) { mode $chan -o $nick | .msg $chan %ver Mode change protection activated }
  409. n282=  if (%modeprot == 3) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver Mode change protection activated -=Temp Ban=- | .timer 1 10 mode $chan -bb $address($nick,2) $address($nick,3) }
  410. n283=  :end
  411. n284=  unset %lev %count %current %keyset %modeway
  412. n285=}
  413. n286=@1:ON SERVERMODE:#:{
  414. n287=  set %count 0 | unset %modeway
  415. n288=  :start
  416. n289=  inc %count
  417. n290=  if (%count > $len($parm1)) { goto end }
  418. n291=  set %current $mid(%count,1,$parm1)
  419. n292=  if (%current == +) || (%current == -) { set %modeway %current | goto start }
  420. n293=  if (%modeway == $null) { set %modeway + }
  421. n294=  if (%current == l) { goto l }
  422. n295=  if (%current == k) { goto k }
  423. n296=  if (%current isin %modeplus) && (%modeway == -) { mode $chan + $+ %current }
  424. n297=  if (%current isin %modeminus) && (%modeway == +) { mode $chan - $+ %current }
  425. n298=  goto start
  426. n299=  :l
  427. n300=  if (l !isin %modeplus) && (l !isin %modeminus) { goto start }
  428. n301=  if (l isin %modeplus) && (%modeway == +) { mode $chan +l %modelimit | goto start }
  429. n302=  if (l isin %modeminus) && (%modeway == +) { mode $chan -l | goto start }
  430. n303=  if (l isin %modeplus) && (%modeway == -) { mode $chan +l %modelimit }
  431. n304=  goto start
  432. n305=  :k
  433. n306=  if (k !isin %modeplus) && (k !isin %modeminus) { goto start }
  434. n307=  if (k isin %modeminus) && (%modeway == +) { mode $chan -kk $parm2 $parm3 | goto start }
  435. n308=  if (k isin %modeplus) && (%modeway == -) { mode $chan +k %modekey }
  436. n309=  goto start
  437. n310=  :end
  438. n311=  unset %lev %count %current %keyset %modeway
  439. n312=}
  440. n313=@1:ON TOPIC:#:{
  441. n314=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  442. n315=  if (%topiclock [ $+ [ $chan ] ] == $null) { goto end }
  443. n316=  if (%topiclock [ $+ [ $chan ] ] == 1) || (%topiclock [ $+ [ $chan ] ] == 3) || (%topiclock [ $+ [ $chan ] ] == 5) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  444. n317=  if ($chan($chan).topic == %topiccurrent [ $+ [ $chan ] ] ) { goto end }
  445. n318=  .topic $chan %topiccurrent [ $+ [ $chan ] ]
  446. n319=  if (%topiclock [ $+ [ $chan ] ] == 3) || (%topiclock [ $+ [ $chan ] ] == 4) { mode $chan -o $nick }
  447. n320=  if (%topiclock [ $+ [ $chan ] ] >= 5) { mode $chan -o+bb $nick $address($nick,2) $address($nick,3) | kick $chan $nick %ver Topic protection activated | .timer 1 10 mode $chan -bb $address($nick,2) $address($nick,3) | goto end }
  448. n321=  .msg $chan %ver Topic protection activated
  449. n322=  :end
  450. n323=  unset %lev
  451. n324=}
  452. n325=;-----
  453. n326=;----- Private Text Flood routine
  454. n327=;-----
  455. n328=1:ON TEXT:*:?:{
  456. n329=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  457. n330=  if (%away != $null) {
  458. n331=    if (%messager == 0) { .notice $nick I am away - msgs are currently NOT being saved %ver | goto awayend }
  459. n332=    inc %messages | write $mircdirsettings\ $+ messages.txt < $+ $nick $+ > MSG $timestamp - $parms | awaytitle | .notice $nick I am away - your message was saved %ver
  460. n333=    :awayend
  461. n334=    .timer 1 1 close -m $nick
  462. n335=  }
  463. n336=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  464. n337=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  465. n338=  textcheck2 | if (%privatemsgflood == 0) { goto end }
  466. n339=  inc %countmsg [ $+ [ $nick ] ] | .timer 1 %privatemsgfloods unset %countmsg [ $+ [ $nick ] ]
  467. n340=  if (%countmsg [ $+ [ $nick ] ] >= %privatemsgfloodl) { 
  468. n341=    ignore -pu30 $nick 3 | echo 4 -a %ver Private Text flood detected from $nick -=30 Second Private Ignore=- | unset %countmsg [ $+ [ $nick ] ] 
  469. n342=    if (%privatekick == 1) { set %reason Private text flood detected -=Temp Ban=- | set %nick $nick | privatekick }
  470. n343=  }
  471. n344=  :end
  472. n345=  unset %lev
  473. n346=}
  474. n347=1:ON ACTION:*:?:{
  475. n348=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  476. n349=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  477. n350=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  478. n351=  textcheck2 | if (%privatemsgflood == 0) { goto end }
  479. n352=  inc %countmsg [ $+ [ $nick ] ] | .timer 1 %privatemsgfloods unset %countmsg [ $+ [ $nick ] ]
  480. n353=  if (%countmsg [ $+ [ $nick ] ] >= %privatemsgfloodl) { 
  481. n354=    ignore -pu30 $nick 3 | echo 4 -a %ver Private Text flood detected from $nick -=30 Second Private Ignore=- | unset %countmsg [ $+ [ $nick ] ] 
  482. n355=    if (%privatekick == 1) { set %reason Private text flood detected -=Temp Ban=- | set %nick $nick | privatekick }
  483. n356=  }
  484. n357=  :end
  485. n358=  unset %lev
  486. n359=}
  487. n360=1:ON NOTICE:*:?:{
  488. n361=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  489. n362=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  490. n363=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  491. n364=  textcheck2 | if (%privatenoticeflood == 0) { goto end }
  492. n365=  inc %countnotice [ $+ [ $nick ] ] | .timer 1 %privatenoticefloods unset %countnotice [ $+ [ $nick ] ]
  493. n366=  if (%countnotice [ $+ [ $nick ] ] >= %privatenoticefloodl) { 
  494. n367=    ignore -nu30 $nick 3 | echo 4 -a %ver Private Notice flood detected from $nick -=30 Second Notice Ignore=- | unset %countnotice [ $+ [ $nick ] ] 
  495. n368=    if (%privatekick == 1) { set %reason Private notice flood detected -=Temp Ban=- | set %nick $nick | privatekick }
  496. n369=  }
  497. n370=  :end
  498. n371=  unset %lev
  499. n372=}
  500. n373=;-----
  501. n374=;----- DCC Text Flood routine
  502. n375=;-----
  503. n376=1:ON CHAT:*:{
  504. n377=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  505. n378=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  506. n379=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  507. n380=  if (%repfloodp == 0) { goto next }
  508. n381=  set %parms $strip($parms)
  509. n382=  if (%repeatdcc [ $+ [ $nick ] ] == %parms) {
  510. n383=    inc %countrepeatdcc [ $+ [ $nick ] ]
  511. n384=    if (%countrepeatdcc [ $+ [ $nick ] ] == %repfloodpl) { 
  512. n385=      unset %repeatdcc [ $+ [ $nick ] ] | unset %countrepeatdcc [ $+ [ $nick ] ]
  513. n386=      close -c $nick | echo 4 -a %ver DCC repeating flood detected from $nick ( $+ %repfloodpl repeats in less than %repfloodps seconds) -=DCC Chat closed=-
  514. n387=      if (%privatekick == 1) { set %reason DCC repeating flood detected ( $+ %repfloodpl repeats in less than %repfloodps seconds) -=Temp Ban=- | set %nick $nick | privatekick }
  515. n388=      goto end1
  516. n389=    }
  517. n390=    goto next
  518. n391=  }
  519. n392=  set %repeatdcc [ $+ [ $nick ] ] %parms | set %countrepeatdcc [ $+ [ $nick ] ] 1 | .timer 1 %repfloodps unset %repeatdcc [ $+ [ $nick ] ] | .timer 1 %repfloodps unset %countrepeatdcc [ $+ [ $nick ] ]
  520. n393=  :next
  521. n394=  unset %parms
  522. n395=  if ($len($parms) > %lengthfloodpl) && (%lengthfloodp == 1) { 
  523. n396=    close -c $nick | echo 4 -a %ver DCC length flood detected from $nick (maximum is %lengthfloodpl $+ , that was $len($parms) $+ ) -=DCC Chat closed=-
  524. n397=    if (%privatekick == 1) { set %reason DCC length flood detected (maximum is %lengthfloodpl $+ , that was $len($parms) $+ ) -=Temp Ban=- | set %nick $nick | privatekick }
  525. n398=    goto end1
  526. n399=  }
  527. n400=  if ($count($parms,) > %colourfloodpl) && (%colourfloodp == 1) { 
  528. n401=    close -c $nick | echo 4 -a %ver DCC colour flood detected from $nick (no more than %colourfloodpl colour changes allowed) -=DCC Chat closed=-
  529. n402=    if (%privatekick == 1) { set %reason DCC colour flood detected (no more than %colourfloodpl colour changes allowed) -=Temp Ban=- | set %nick $nick | privatekick }
  530. n403=    goto end1
  531. n404=  }
  532. n405=  if (%capsfloodp == 0) { goto end1 }
  533. n406=  set -q %length $len($parms) | if (%length < %capsfloodpl) { goto end1 }
  534. n407=  set -q %count 1
  535. n408=  :start
  536. n409=  if (%count > %length) { goto kick }
  537. n410=  if $asc($mid(%count,%length,$parms)) == $asc($upper($mid(%count,%length,$parms))) { inc %count | goto start } | else { goto end1 }
  538. n411=  :kick
  539. n412=  close -c $nick | echo 4 -a %ver DCC CAPS flood detected from $nick -=DCC Chat closed=-
  540. n413=  if (%privatekick == 1) { set %reason DCC CAPS flood detected -=Temp Ban=- | set %nick $nick | privatekick }
  541. n414=  :end1
  542. n415=  unset %length %count %address %lev
  543. n416=  if (%dcctextflood == 0) { goto end }
  544. n417=  inc %countdcctext [ $+ [ $nick ] ] | .timer 1 %dcctextfloods unset %countdcctext [ $+ [ $nick ] ]
  545. n418=  if (%countdcctext [ $+ [ $nick ] ] >= %dcctextfloodl) { 
  546. n419=    close -c $nick | echo 4 -a %ver DCC text flood detected from $nick -=DCC Chat closed=- | unset %countdcctext [ $+ [ $nick ] ] 
  547. n420=    if (%privatekick == 1) { set %reason DCC text flood detected -=Temp Ban=- | set %nick $nick | privatekick }
  548. n421=  }
  549. n422=  :end
  550. n423=  unset %lev
  551. n424=}
  552. n425=;-----
  553. n426=;----- Invite Flood routine
  554. n427=;-----
  555. n428=1:ON INVITE:#:{
  556. n429=  if ($nick == $me) || ($address($nick,2) == $address($me,2)) && ($address($nick,3) == $address($me,3)) { goto end }
  557. n430=  if (%immune == 1) || (%immune == 2) { set %nick $nick | superopcheck2 | if (%lev != 0) { goto end } }
  558. n431=  if (%immune == 2) { set %nick $nick | voicedcheck2 | if (%lev != 0) { goto end } }
  559. n432=  if (%invite == 0) { goto end }
  560. n433=  ignore -iu30 $nick 3 | echo 4 -a %ver Invite detected from $nick -=30 Second Invite ignore=-
  561. n434=  if (%invite == 2) { set %reason Invite detected -=Temp Ban=- | set %nick $nick | privatekick }
  562. n435=  :end
  563. n436=  unset %lev
  564. n437=}
  565.  
  566. [Raw]
  567. n0=352:*:{
  568. n1=  if ($parm2 == %chancheck) {
  569. n2=    if ($parm6 == $me) { goto end }
  570. n3=    if ($address($parm6,2) == $address($me,2)) && ($address($parm6,3) == $address($me,3)) && ($parm6 !isop $parm2) { mode $parm2 +o $parm6 | goto end }
  571. n4=    set %nick $parm6 | superopcheck2 | if (%lev != 0) && ($parm6 !isop $parm2) && (%autoopping == 1) { mode $parm2 +o $parm6 | goto end }
  572. n5=    set %nick $parm6 | voicedcheck2 | if (%lev != 0) && ($parm6 !isop $parm2) { mode $parm2 +v $parm6 | goto end }
  573. n6=    set %nick $parm6 | deniedcheck2 | if (%lev != 0) && ($parm6 isop $parm2) { mode $parm2 -o $parm6 | goto end }
  574. n7=    set %nick $parm6 | shitlistcheck2 | if (%lev != 0) { mode $parm2 -o+bb $parm6 $address($parm6,3) $address($parm6,2) | kick $parm2 $parm6 %ver Shitlisted }
  575. n8=    :end
  576. n9=    unset %lev | halt
  577. n10=  }
  578. n11=  if ($parm2 == %statchan) {
  579. n12=    inc %statotal
  580. n13=    if (@ isin $parm7) { inc %statops }
  581. n14=    if (+ isin $parm7) { inc %statvoiced }
  582. n15=    if (@ !isin $parm7) { inc %statnops }
  583. n16=    if (H isin $parm7) { inc %stathere }
  584. n17=    if (G isin $parm7) { inc %stataway }
  585. n18=    if (* isin $parm7) { inc %statircops }
  586. n19=    if ($parm4 isin %statadd) { 
  587. n20=      if ($parm4 isin %statcloneadd) { halt }
  588. n21=      set %statcloneadd %statcloneadd $parm4
  589. n22=    }
  590. n23=    set %statadd %statadd $parm4
  591. n24=    halt
  592. n25=  }
  593. n26=  if ($parm2 == %ircopchan) {
  594. n27=    if (* isin $parm7) { inc %ircopcount | set %cop [ $+ [ %ircopcount ] ] ** $parm6 ** is an IRCop -=> $parm3 $+ @ $+ $parm4 <=- }
  595. n28=    halt
  596. n29=  }
  597. n30=  if ($parm2 == %clonechan) {
  598. n31=    if ($parm4 isin %statadd) {
  599. n32=      if ($parm4 isin %clonecount) { halt }
  600. n33=      set %clonecount %clonecount $parm4
  601. n34=    }
  602. n35=    :done
  603. n36=    set %statadd %statadd $parm4
  604. n37=    halt
  605. n38=  }
  606. n39=  if (%ircop == 0) { goto done }
  607. n40=  if (* isin $parm7) { set %ircjoin [ $+ [ $parm6 ] ] $parm2 }
  608. n41=  halt 
  609. n42=  :done
  610. n43=}
  611. n44=315:*:{
  612. n45=  if ($parm2 == %chancheck) {
  613. n46=    unset %chancheck | halt 
  614. n47=  }
  615. n48=  if ($parm2 == %statchan) {
  616. n49=    if (%statotal == $null) { set %statotal 0 }
  617. n50=    if (%statops == $null) { set %statops 0 }
  618. n51=    if (%statvoiced == $null) { set %statvoiced 0 }
  619. n52=    if (%statnops == $null) { set %statnops 0 }
  620. n53=    if (%stathere == $null) { set %stathere 0 }
  621. n54=    if (%stataway == $null) { set %stataway 0 }
  622. n55=    if (%statircops == $null) { set %statircops 0 }
  623. n56=    if (%statcloneadd == $null) { set %statclones 0 }
  624. n57=    set %count 0
  625. n58=    :start
  626. n59=    inc %count
  627. n60=    if ($gettok(%statcloneadd,%count,32) == $null) { goto done }
  628. n61=    set %domain *!*@ $+ $gettok( %statcloneadd,%count,32)
  629. n62=    inc %statclones $ial(%domain,0)
  630. n63=    goto start
  631. n64=    :done
  632. n65=    if (%stat == 2) { goto msg }
  633. n66=    echo 4 %statchan %ver --== Channel stats for %statchan **private echo** ==--
  634. n67=    echo 4 %statchan Total: %statotal - Ops: %statops - Voiced: %statvoiced - NonOps: %statnops
  635. n68=    echo 4 %statchan Here: %stathere - Away: %stataway - IRCops: %statircops - Clones: %statclones
  636. n69=    goto end 
  637. n70=    :msg
  638. n71=    msg %statchan %ver --== Channel stats for %statchan ==--
  639. n72=    msg %statchan Total: %statotal - Ops: %statops - Voiced: %statvoiced - NonOps: %statnops
  640. n73=    msg %statchan Here: %stathere - Away: %stataway - IRCops: %statircops - Clones: %statclones
  641. n74=    :end
  642. n75=    unset %stat* %count %domain
  643. n76=    halt
  644. n77=  }
  645. n78=  if ($parm2 == %ircopchan) {
  646. n79=    if (%ircopcount == $null) { goto none }
  647. n80=    set %count 0
  648. n81=    if (%stat == 1) { echo 4 %ircopchan %ver --== IRCopScan results for %ircopchan ==-- } | else { msg %ircopchan %ver --== IRCopScan results for %ircopchan ==-- }
  649. n82=    :start
  650. n83=    inc %count
  651. n84=    if (%count > %ircopcount) { 
  652. n85=      if (%stat == 1) { echo 4 %ircopchan %ver --== IRCopScan complete ==-- } | else { msg %ircopchan %ver --== IRCopScan complete ==-- }
  653. n86=      goto end 
  654. n87=    }
  655. n88=    if (%stat == 1) { echo 4 %ircopchan %cop [ $+ [ %count ] ] } | else { msg %ircopchan %cop [ $+ [ %count ] ] }
  656. n89=    goto start
  657. n90=    :none
  658. n91=    if (%stat == 1) { echo 4 %ircopchan %ver --== IRCopScan results for %ircopchan **NO IRCOPS FOUND** ==-- } | else { msg %ircopchan %ver --== IRCopScan results for %ircopchan **NO IRCOPS FOUND** ==-- }
  659. n92=    :end
  660. n93=    unset %count %stat %ircopcount %ircopchan %cop* | halt
  661. n94=  }
  662. n95=  if ($parm2 == %clonechan) {
  663. n96=    if (%clonecount == $null) { goto none }
  664. n97=    set %count 0
  665. n98=    if (%stat == 1) { echo 4 %clonechan %ver --== CloneScan results for %clonechan ==-- } | else { msg %clonechan %ver --== CloneScan results for %clonechan ==-- }
  666. n99=    :start
  667. n100=    inc %count
  668. n101=    if ($gettok(%clonecount,%count,32) == $null) { 
  669. n102=      if (%stat == 1) { echo 4 %clonechan %ver --== CloneScan complete ==-- } | else { msg %clonechan %ver --== CloneScan complete ==-- }
  670. n103=      goto done 
  671. n104=    }
  672. n105=    set %domain *!*@ $+ $gettok( %clonecount,%count,32)
  673. n106=    unset %clonemsg
  674. n107=    set %count2 0
  675. n108=    :start2
  676. n109=    inc %count2
  677. n110=    if (%count2 > $ial(%domain,0)) { goto done2 }
  678. n111=    set %clonemsg %clonemsg $ial(%domain,%count2).nick &
  679. n112=    goto start2
  680. n113=    :done2
  681. n114=    set %position $len(%clonemsg) - 2
  682. n115=    set %clonemsg $left(%position,%clonemsg)
  683. n116=    set %clonemsg ** %clonemsg ** are clones ==> %domain <==
  684. n117=    if (%stat == 1) { echo 4 %clonechan %clonemsg } | else { msg %clonechan %clonemsg }
  685. n118=    unset %clonemsg
  686. n119=    goto start
  687. n120=    :none
  688. n121=    if (%stat == 1) { echo 4 %clonechan %ver --== CloneScan results for %clonechan **NO CLONES FOUND** ==-- } | else { msg %clonechan %ver --== ClonesScan results for %clonechan **NO CLONES FOUND** ==-- }
  689. n122=    :done
  690. n123=    unset %count %count2 %clonemsg %domain %clonecount %position %statadd %clonechan %stat
  691. n124=    halt
  692. n125=  }
  693. n126=  if (%ircop == 0) { goto done }
  694. n127=  if (%ircjoin [ $+ [ $parm2 ] ] == $null) { unset %ircjoin* | halt }
  695. n128=  echo 4 -a %ver $parm2 - who just joined channel %ircjoin [ $+ [ $parm2 ] ] - is an IRCop | unset %ircjoin*
  696. n129=  halt
  697. n130=  :done
  698. n131=}
  699.